package com.ruoyi.business.order.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.business.base.JoBaseEntity;
import lombok.Data;

/**
 * 退款对象 jb_refund
 *
 * @author ruoyi
 * @date 2024-10-11
 */
@Data
public class JbRefund extends JoBaseEntity
{
    private static final long serialVersionUID = 1L;

    /**
     * 退款编号
     */
    @Excel(name = "退款编号")
    private String refundNumber;
    private String processNumber;

    /**
     * 客户ID
     */
    @Excel(name = "客户ID")
    private Long customerId;

    /**
     * 客户姓名
     */
    @Excel(name = "客户姓名")
    private String customerName;

    /**
     * 是否退货（0全部退或，1部分退款 2无需退回）
     */
    @Excel(name = "是否退货", readConverterExp = "0=全部退或，1部分退款,2=无需退回")
    private Integer refundType;

    /**
     * 退货物流记录表ID
     */
    @Excel(name = "退货物流记录表ID")
    private Long returnGoodsLogisticsId;

    /**
     * 用友退货单号
     */
    @Excel(name = "用友退货单号")
    private String returnGoodsOrderNumber;

    /**
     * 物流单号
     */
    @Excel(name = "物流单号")
    private String logisticsTrackingNumber;

    /**
     * 业务经理
     */
    @Excel(name = "业务经理")
    private String businessManager;

    /**
     * 退款描述
     */
    @Excel(name = "退款描述")
    private String refundDescription;

    /**
     * 上传附件
     */
    @Excel(name = "上传附件")
    private String uploadAttachment;

    /**
     * 提交时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date submissionTime;

    /**
     * 提交人员ID
     */
    @Excel(name = "提交人员ID")
    private Long submitterId;

    /**
     * 提交人员
     */
    @Excel(name = "提交人员")
    private String submitterName;

    /**
     * 审批状态
     */
    @Excel(name = "审批状态")
    private String approvalStatus;

    /**
     * 主管审批备注
     */
    @Excel(name = "主管审批备注")
    private String supervisorApproval;

    /**
     * 业务退款描述
     */
    @Excel(name = "业务退款描述")
    private String supervisorApprovalRemark;

    /**
     * 主管审批时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "主管审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date supervisorApprovalTime;

    /**
     * 工厂审批
     */
    @Excel(name = "工厂审批")
    private String factoryApproval;

    /**
     * 工厂审批时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "工厂审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date factoryApprovalTime;

    /**
     * 工厂收货备注
     */
    @Excel(name = "工厂收货备注")
    private String receiptRemark;

    /**
     * 财务审批
     */
    @Excel(name = "财务审批")
    private String financialApproval;

    /**
     * 财务审批时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "财务审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date financialApprovalTime;

    /**
     * 退款金额
     */
    @Excel(name = "退款金额")
    private BigDecimal refundAmount;

    /**
     * 涉及提成金额
     */
    @Excel(name = "涉及提成金额")
    private BigDecimal commissionAmount;

    /**
     * 审批完成后，通知到所选人员。人员id，逗号分割
     */
    @Excel(name = "审批完成后，通知到所选人员。人员id，逗号分割")
    private String noticeUserId;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remark;


}
